<UserControl
	x:Class="ViewOn.UI.Control.NavigationPanel"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:voh="clr-namespace:ViewOn.Helper.WPF">

	<UserControl.Resources>

		<!-- Sliding -->

		<Storyboard x:Key="slideOutVertical" Storyboard.DesiredFrameRate="{Binding Source={x:Static voh:RenderCapabilityWrapper.Instance}, Path=StoryBoardFrameRate}">
			<DoubleAnimation To="0" Duration="0:0:0" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.X)" />
			<ObjectAnimationUsingKeyFrames Duration="0:0:0.50" Storyboard.TargetProperty="Visibility">
				<DiscreteObjectKeyFrame KeyTime="0:0:0.50" Value="{x:Static Visibility.Collapsed}" />
			</ObjectAnimationUsingKeyFrames>
			<DoubleAnimation Duration="0:0:0.50" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.Y)" />
		</Storyboard>
		<Storyboard x:Key="slideInVertical" Storyboard.DesiredFrameRate="{Binding Source={x:Static voh:RenderCapabilityWrapper.Instance}, Path=StoryBoardFrameRate}">
			<DoubleAnimation To="0" Duration="0:0:0" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.X)" />
			<ObjectAnimationUsingKeyFrames Duration="0:0:0" Storyboard.TargetProperty="Visibility">
				<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
			</ObjectAnimationUsingKeyFrames>
			<DoubleAnimation Duration="0:0:0.50" AccelerationRatio=".8" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.Y)" />
			<DoubleAnimation Duration="0:0:0.50" BeginTime="0:0:0.50" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.Y)" />
		</Storyboard>

		<Storyboard x:Key="slideOutHorizontal" Storyboard.DesiredFrameRate="{Binding Source={x:Static voh:RenderCapabilityWrapper.Instance}, Path=StoryBoardFrameRate}">
			<DoubleAnimation To="0" Duration="0:0:0" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.Y)" />
			<ObjectAnimationUsingKeyFrames Duration="0:0:0.50" Storyboard.TargetProperty="Visibility">
				<DiscreteObjectKeyFrame KeyTime="0:0:0.50" Value="{x:Static Visibility.Collapsed}" />
			</ObjectAnimationUsingKeyFrames>
			<DoubleAnimation Duration="0:0:0.50" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.X)" />
		</Storyboard>
		<Storyboard x:Key="slideInHorizontal" Storyboard.DesiredFrameRate="{Binding Source={x:Static voh:RenderCapabilityWrapper.Instance}, Path=StoryBoardFrameRate}">
			<DoubleAnimation To="0" Duration="0:0:0" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.Y)" />
			<ObjectAnimationUsingKeyFrames Duration="0:0:0" Storyboard.TargetProperty="Visibility">
				<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
			</ObjectAnimationUsingKeyFrames>
			<DoubleAnimation Duration="0:0:0.50" AccelerationRatio=".8" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.X)" />
			<DoubleAnimation Duration="0:0:0.50" BeginTime="0:0:0.50" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.X)" />
		</Storyboard>

		<!-- Smooth sliding -->

		<Storyboard x:Key="smoothSlideOut" Storyboard.DesiredFrameRate="{Binding Source={x:Static voh:RenderCapabilityWrapper.Instance}, Path=StoryBoardFrameRate}">
			<ObjectAnimationUsingKeyFrames Duration="0:0:0" Storyboard.TargetProperty="Visibility">
				<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Collapsed}" />
			</ObjectAnimationUsingKeyFrames>
		</Storyboard>

		<Storyboard x:Key="smoothSlideInToLeft" Storyboard.DesiredFrameRate="{Binding Source={x:Static voh:RenderCapabilityWrapper.Instance}, Path=StoryBoardFrameRate}">
			<DoubleAnimation To="0" Duration="0:0:0" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.Y)" />
			<ObjectAnimationUsingKeyFrames Duration="0:0:0" Storyboard.TargetProperty="Visibility">
				<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
			</ObjectAnimationUsingKeyFrames>
			<DoubleAnimation From="0.3" To="1" Duration="0:0:0.3" Storyboard.TargetProperty="Opacity" />
			<DoubleAnimation From="100" To="0" Duration="0:0:0.3" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.X)" />
		</Storyboard>

		<Storyboard x:Key="smoothSlideInToRight" Storyboard.DesiredFrameRate="{Binding Source={x:Static voh:RenderCapabilityWrapper.Instance}, Path=StoryBoardFrameRate}">
			<DoubleAnimation To="0" Duration="0:0:0" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.Y)" />
			<ObjectAnimationUsingKeyFrames Duration="0:0:0" Storyboard.TargetProperty="Visibility">
				<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
			</ObjectAnimationUsingKeyFrames>
			<DoubleAnimation From="0.3" To="1" Duration="0:0:0.3" Storyboard.TargetProperty="Opacity" />
			<DoubleAnimation From="-100" To="0" Duration="0:0:0.3" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.X)" />
		</Storyboard>

		<Storyboard x:Key="smoothSlideInToTop" Storyboard.DesiredFrameRate="{Binding Source={x:Static voh:RenderCapabilityWrapper.Instance}, Path=StoryBoardFrameRate}">
			<DoubleAnimation To="0" Duration="0:0:0" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.X)" />
			<ObjectAnimationUsingKeyFrames Duration="0:0:0" Storyboard.TargetProperty="Visibility">
				<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
			</ObjectAnimationUsingKeyFrames>
			<DoubleAnimation From="0.3" To="1" Duration="0:0:0.3" Storyboard.TargetProperty="Opacity" />
			<DoubleAnimation From="100" To="0" Duration="0:0:0.3" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.Y)" />
		</Storyboard>

		<Storyboard x:Key="smoothSlideInToBottom" Storyboard.DesiredFrameRate="{Binding Source={x:Static voh:RenderCapabilityWrapper.Instance}, Path=StoryBoardFrameRate}">
			<DoubleAnimation To="0" Duration="0:0:0" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.X)" />
			<ObjectAnimationUsingKeyFrames Duration="0:0:0" Storyboard.TargetProperty="Visibility">
				<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
			</ObjectAnimationUsingKeyFrames>
			<DoubleAnimation From="0.3" To="1" Duration="0:0:0.3" Storyboard.TargetProperty="Opacity" />
			<DoubleAnimation From="-100" To="0" Duration="0:0:0.3" Storyboard.TargetProperty="(UserControl.RenderTransform).(TransformGroup.Children)[2].(TranslateTransform.Y)" />
		</Storyboard>

	</UserControl.Resources>

	<Grid x:Name="elementsContainer" ClipToBounds="True">
	</Grid>

</UserControl>
